Composición de componentes
En Angular, además de actualizar las plantillas, la lógica y los estilos de un componente, es esencial aprender cómo usar un componente dentro de otro. Esto permite estructurar la aplicación en componentes reutilizables y organizar la interfaz de usuario de forma eficiente.
Cada componente en Angular tiene una propiedad selector
que define el nombre con el que puede ser referenciado en otra plantilla, similar a una etiqueta HTML personalizada. Por ejemplo, si el selector es app-user
, podríamos usarlo en una plantilla de esta manera: <app-user />
.
Paso 1: Referenciar un Componente en Otro
Supongamos que tenemos dos componentes: UserComponent
y AppComponent
. Queremos que UserComponent
se muestre dentro de AppComponent
. Para esto, haremos dos cosas:
- Actualizar la plantilla de
AppComponent
para incluir una referencia aUserComponent
utilizando su selector,app-user
. - Añadir
UserComponent
al array deimports
en la configuración deAppComponent
, permitiendo queUserComponent
esté disponible para su uso.
El código para AppComponent
quedaría así:
@Component({
selector: 'app-root',
template: `<app-user />`,
imports: [UserComponent],
})
export class AppComponent {}
De este modo, UserComponent
se renderiza dentro de AppComponent
. Si UserComponent
tiene un mensaje como "Nombre de usuario: youngTech", este se mostrará al usuario.
Paso 2: Añadir Más Marcado HTML
En las plantillas de Angular, puedes incluir tanto componentes como cualquier otro elemento HTML. Por ejemplo, podríamos rodear <app-user />
con una etiqueta <section>
para organizar el contenido:
@Component({
selector: 'app-root',
template: `<section><app-user /></section>`,
imports: [UserComponent],
})
export class AppComponent {}
Este tipo de composición permite agregar múltiples elementos HTML y componentes para estructurar la aplicación como se desee. Incluso es posible tener varias instancias de UserComponent
en la misma página si así lo necesita el diseño.
La composición de componentes en Angular permite integrar varios elementos reutilizables dentro de una aplicación, manteniendo la estructura del código limpia y modular. Esta flexibilidad permite construir interfaces complejas y organizadas, combinando HTML con los componentes según lo requiera la aplicación. En la siguiente sección, aprenderemos cómo mostrar un componente de forma condicional, basándonos en datos.